/**
 * @description: 文本处理工具
 * @Author: huangpeng
 * @Date: 2023年08月17日 14:41
 * @Copyright:  2022-2023
 */

import showdown from "showdown";

/**
 * 标签转字符串
 * @param tags
 * @returns {string}
 */
export function tagsToString(tags) {
  let str = ''
  for (let i = 0; i < tags.length; i++) {
    str += tags[i] + ','
  }
  return str.substr(0, str.length - 1)
}
/**
 * 字符串转标签
 * @param str
 * @returns {Array}
 */
export function stringToTags(str){
  if (str !== null && str !== '') {
    return str.split(',')
  } else {
    return []
  }
}

/** 切割字符串 */
export function splitStr(str, flagCount){
  if (str == null || str === '') {
    return ""
  } else if(str.length > flagCount) {
    return str.substring(0, flagCount) + "..."
  } else {
    return str
  }
}

/**
 * 复制文字到剪切板
 * @param text
 */
export function  copyText(text) {
  const oInput = document.createElement('input')
  oInput.value = text
  document.body.appendChild(oInput)
  oInput.select() // 选择对象
  document.execCommand('Copy') // 执行浏览器复制命令
  oInput.className = 'oInput'
  oInput.style.display = 'none'
}

/**
 * 将Markdown转成Html
 * @param text
 */
export function markdownToHtml(text) {
  let converter = new showdown.Converter();
  return converter.makeHtml(text);
}

/**
 * 将Html转成Markdown
 * @param text
 */
export function htmlToMarkdown(text) {
  const markdownService = new TurndownService();
  return markdownService.turndown(text)
}

/**
 * 将Html转成Markdown文件
 * @param title：标题
 * @param text：正文
 */
export function  htmlToMarkdownFile(title, text) {
  title = title || "默认标题"
  let markdownService = new TurndownService()
  let markdown = markdownService.turndown(text)
  //创建一个blob对象,file的一种
  let blob = new Blob([markdown])
  let link = document.createElement('a')
  link.href = window.URL.createObjectURL(blob)
  //配置下载的文件名
  link.download = title + '.md'
  link.click()
}
